Collaboration within a visualization application

ABSTRACT

In a method, system, apparatus, and computer-readable device having instructions for collaboration within a visualization application, a visualization application is used to display a visualization for at least a portion of an object, wherein the object comprises a plurality of parts, a request is received to display collaboration data for a part of the object using the input device, information is received about a part, wherein the information comprises details about the part, an association between collaboration data and visualization data for a part of an object is retrieved and the collaboration data comprises data input by one or more to be associated with the part of the object, and information is displayed about a part and collaboration data associated with the visualization for the part of the object.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is related to the following application, U.S. patentapplication Ser. No. [TBD], entitled “Overlaying Business intelligenceData on a Product Design Visualization,” Attorney Docket No. ORACP0052,filed on [TBD], which is hereby incorporated by reference, as if setforth in full in this specification.

BACKGROUND

When an engineer is designing a product, the engineer may select from analmost limitless number of component options. So, the engineer mustconstantly evaluate different component options in the course ofbuilding a product and take into consideration the tradeoffs inherentwith selection of each option. For example, the engineer may considerwhether the part breaks easily, costs too much, affects the balance ofthe product, or fits in with a model of the product.

Analytical information regarding components is often used to evaluatethe component. The information for a component is typically conveyedwith the use of charts or tables. The charts and tables may adequatelyconvey the data for the components used in the product but do notprovide a sufficiently intuitive visual representation of how the datais distributed across the overall product. For example, if a bicycle ismade of fifty components, a tabular display with actual weights for eachcomponent, a comparison to target weights for each component, and alisting of part names within the table which are underweight andoverweight may be displayed to provide a view of the parts that needattention.

However, the charts and tables give no indication of where the weightmay be skewed in relation to the whole product. One must guess at theoverall impact on the product for using particular parts from theattributes captured in data in tables or charts. In particular, theproblem is that the data is just numbers and it is impossible to tellfrom the data on each individual part in pie charts and tables if theoverall product is heavier toward back or front until built. A user mayhave to actually scan a list of individual parts and guess at animbalance in a constructed product in order to actually grasp therelative seriousness of each part's weight deviation. Accordingly, it isdesirable to provide a technique for improved presentation of productdata.

SUMMARY

In a method, system, apparatus, and computer-readable device havinginstructions for collaboration within a visualization application, avisualization application is used to display a visualization for atleast a portion of an object, wherein the object comprises a pluralityof parts, a request is received to display collaboration data for a partof the object using the input device, information is received about apart, wherein the information comprises details about the part, anassociation between collaboration data and visualization data for a partof an object is retrieved and the collaboration data comprises datainput by one or more to be associated with the part of the object, andinformation is displayed about a part and collaboration data associatedwith the visualization for the part of the object.

A further understanding of the nature and the advantages of particularembodiments disclosed herein may be realized by reference of theremaining portions of the specification and the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a flow chart with an example of an implementation ofoverlaying product information and/or business intelligence data on aproduct design visualization.

FIG. 2 illustrates a flow chart with an example of an implementation ofcollaboration within a visualization application.

FIG. 3 illustrates a flow chart with an example of an implementation ofoverlaying product information and/or business intelligence data on aproduct design visualization.

FIG. 4 illustrates a flow chart with an example of an implementation ofcollaboration within a product design visualization.

FIG. 5 illustrates an example of a visualization for a product design.

FIG. 6 illustrates an example of a visualization for a product design.

FIG. 7 illustrates an example of a mapping of object data to objectvisualization data.

FIG. 8 illustrates an example of a user interface for managing objectdata.

FIG. 9 illustrates an example of object data and visual representationsof business intelligence data.

FIG. 10 illustrates an example of a user interface with a rendering of avisualization of an object concept.

FIG. 11 illustrates an example of a user interface with a rendering of avisualization of an object concept with overlays of object data.

FIG. 12 illustrates an example of a user interface for an implementationof collaboration within a visualization application.

FIG. 13 illustrates an example of a user interface for an implementationof collaboration within a visualization application.

FIG. 14 illustrates an example of a user interface for an implementationof collaboration within a visualization application.

FIG. 15 illustrates an example of a user interface for an implementationof collaboration within a visualization application.

FIG. 16 illustrates an example of a system diagram for an implementationof overlaying product information and/or business intelligence data on aproduct design visualization.

DETAILED DESCRIPTION OF EMBODIMENTS

Systems, methods, apparatuses, computer readable devices, and computerprogram products are described for adding product information and/orbusiness intelligence data to a product design visualization.Embodiments may provide an overlay of a visual indicator for object data(e.g. product information and/or business intelligence data) onto avisualization of an object. In an embodiment, the object may be aproduct and/or a concept or a prototype for a product. It may bedesirable to view the visualization of an object as a soft copy of aproduct. The visualization may be a rendering of a 2-dimensional or3-dimensional model for a prototype of the product.

A visual indicator for object data may be overlayed onto a portion ofthe visualization for a design of an object. The object data may beproduct information and/or business intelligence data for the concept ofthe product. Business intelligence may refer to techniques used inidentifying, extracting, and analyzing data, such as information onproducts. Business intelligence data may transform raw data intomeaningful and useful information and may be conveyed using visualrepresentations such as pie charts. It may be desirable to view anoverlay of object data visual indicators on the visualization to makedeterminations about the product, including, but not limited to, thefollowing: where the product may break easily, where in the design costshave been exceeded, to detect an imbalance, evaluate a fit for aparticular part in a product, strategic decisions, operations, and/orany other decisions regarding an object.

The presentation of the object data with an overlay of a visualindicator of the data on a visualization of a product may allow a userto evaluate the impact of using particular parts on the overall product.It may be desirable to think of a visualization with overlays of visualindicators for object data for particular data as providing a particular“view” of the visualization for the object. For example, it may bepossible for the user with a “weight” view (e.g. view of visualizationwith weight object data) to tell whether a particular product is heaviertoward the back or front with a heat map visual indicator on the productindicating the weight of each individual part of the product.

The object data may be associated with at least a portion of avisualization of a design for an object. For example, the portion of thevisualization data may be a portion of one or more Computer Aided Design(CAD) files for one or more parts of the object. Continuing with theexample, the object data may be associated with an assembly file (e.g. aCAD file with a .asm file extension) that may contain assemblyinstructions for one or more parts and/or a visualization file thatcontains visualization data for a single part. The object datapertaining to a part may be associated with a file that containsvisualization data for the corresponding part of the object.

The associations between the visualization data and object data may forma mapping that can be referenced for rendering the visualization withthe overlay of the visual indicators. In an embodiment, the mapping maybe referenced to facilitate the creation of one or more newvisualization data files containing the visualization data with theoverlay of visual indicators. For example, a copy of the originalvisualization files may be created and visualization data for renderingthe overlay may be added to the copy to allow for rendering a particularview of the visualization with an overlay for the object data inaccordance with the mapping. Continuing with the example, visualizationdata for a visual indicator may be added to a copy of the original CADfiles. The new files may be used to render the visualization with anoverlay of visual indicators for object data on the actual cost ofparticular parts in comparison to the expected costs. Although adescription is provided with the generation of new visualization filesto create a visualization with overlays of visual indicators for objectdata using the mapping, those with skill in the art will recognize thatthere are other methods or techniques that may be used, such asgenerating or rendering the visualization with visual indicators withoutcreating new files.

In one or more embodiments, collaboration data may be displayed with atleast a portion of the visualization for an object. The collaborationdata may be associated with at least a portion of the visualization datafor an object (e.g. associated with at least a portion of one or moreCAD files). For example, the collaboration data for a particular partmay be associated with visualization data for the particular part. Theassociations may form a mapping that can be referenced to generatevisualizations with collaboration data. The object may be a concept fora product design and the collaboration data may be commentary on thedesign choices for the product design. Users can share collaborationdata related to parts of the design and the collaboration data can bedirectly associated with the part such that the collaboration datashared by users for a particular part can be displayed upon request by auser with the part. For example, collaboration data shared with aparticular part of a product in a visualization can be associated withthe part, and be displayed when requested with the particular partand/or group of parts where the particular part may be a part of thegrouping of parts.

FIG. 1 illustrates a flow chart with an example of an implementation ofoverlaying product information and/or business intelligence data on aproduct design visualization. One or more visualization data files withvisualization data for rendering a visualization of an object may bereceived (100). The visualization data files may be, for example, CADfiles that have a hierarchical structure. The CAD files may indicate toa CAD system or any other visualization software how to assemble avisualization for an object (e.g. a product). In the simplest case, thevisualization data files may consist of separate data files for eachpart of a product and the data files may be assembled to produce avisualization of the product.

Business intelligence data for the object may be received (102).Business intelligence data may be received and/or stored in any numberof ways, including, but not limited to, the following: one or morefiles, stored in a database, a hierarchy of files (e.g. a directory offiles), and/or any other way to store and receive data.

Business intelligence data for a portion of the object may be correlatedwith at least a portion of visualization data from the one or morevisualization data files (104). Object data and/or business intelligencedata may be correlated with the visualization data for the object.Object data may be business intelligence data, product data orinformation, and/or any other object data for at least a portion of theobject. For example, the product business intelligence data for aparticular part of a concept for an object may be correlated with thecorresponding visualization data for the part (e.g. a CAD file for thepart). The correlation may consist of associating the visualization dataand object data for the part in a database table. For example, a tablein a database may store correlations between visualization data andobject data. Continuing with the example, the table may have columns forvisualization data and object data, and each row of the table mayreflect the association between the visualization data and object datafor the part.

In an embodiment, a mapping is determined between one or more CAD filesfor the product to the business intelligence data. For example, a CADfile for a part may be mapped to a file containing business intelligencedata for the same part. In another example, a file with assemblyinstructions for rendering a group of parts in a visualization (e.g.bicycle handlebars) may be associated or mapped to business intelligencedata for the group of parts (e.g. bicycle handlebar information). Aportion of a CAD file (e.g. a programming construct of a pointer to aportion of a file) may be mapped to a portion of business intelligencefile and/or a rows or columns in a database. A determination may be madeas to when the portion of the object is being rendered with the portionof the visualization data on the display screen (106). A visualizationfor an object may be displayed. The object may be a product, productconcept, and/or any other object that can be in rendered for avisualization. For example, the visualization may be a 2-dimensional or3-dimensional model. In an embodiment, the visualization may be arendering of a CAD design using data from one or more CAD files.

A determination may be made as to whether the portion of the object hasassociated business intelligence data (108). A mapping for thevisualization may be retrieved to determine the associated businessintelligence data for the portion of the visualization data beingdisplayed. For example, a table may be queried to determine whether theportion of the object has associated business intelligence data.

A visual indicator for the business intelligence data may be overlayedonto at least a portion of the visualization for the object (110). Avisual indicator may include, but is not limited to, the following: aparticular color, shading, cross hatching, text, an image, and/or anyother visual indicator for at least a portion of the visualization forthe object. In an embodiment, the visual indicator may be a particularcolor for generation of a heat map overlayed onto the visualization of aproduct to indicate the parts of the design that are not on target. Forexample, the object data may relied on for the assignment of colors tovisually indicate whether a weight for a particular part is overweight(e.g. red), underweight (e.g. blue), or on target (e.g. green).

FIG. 2 illustrates a flow chart with an example of an implementation ofcollaboration within a visualization application. A visualization for atleast a portion of the object may be displayed (200). A 2-dimensional or3-dimensional model for the object (e.g. product) may be displayedwithin a visualization software application. The object may comprise ofa plurality of parts. For example, the object may be a product with oneor more parts or components.

A request to display collaboration data for at least a portion of theobject may be received (202). A user may select to display thecollaboration data associated with the portion of the object for therequest. For example, the user can request the selection ofcollaboration data for a particular part by hovering over a particularpart and selecting the part with a mouse click. In another example, auser can select a particular portion of an object with a touch screen.Those with skill in the art will recognize that there are many ways toselect a portion of an object for display of the correspondingcollaboration data.

Information may be retrieved on the part (204). Information on the partmay include, but is not limited to the following: part specifications,design information, and/or any data or details relevant to the part.

An association between collaboration data and visualization data may beretrieved (204). Collaboration data may be associated with visualizationdata for an object. Collaboration data may be data shared by one or moreusers. Collaboration data may be text, images, and/or any other contenta user chooses to share. The collaboration data may be associated withthe visualization data for an object.

In an embodiment, the collaboration data shared by a user and designatedas related to a portion of the object may be associated with thevisualization data for the portion of the object. For example, thecollaboration data shared by a user related to a particular part of aproduct may be associated or mapped to a CAD file for the part of theproduct.

In another embodiment, collaboration data may be mapped to visualizationdata for a particular view of the visualization. For example,collaboration data may be mapped to visualization data with visualindicators for object data representing a “cost” view (e.g. actual costvs. expected target costs) with colors of blue for under target, red forunder target, and green for on target.

Collaboration data for the part of the object may be displayed with thevisualization for the object (208). Collaboration data may be displayedalongside a particular part of the object in the visualization.Collaboration data may consist of user's thoughts on particular partsand/or suggestions for replacement of parts.

In an embodiment, a recommendation engine may be provided for displayingoptions for parts discussed in the collaboration data. Alternative partsmay be displayed for selection by users to replace particular partsdiscussed in the collaboration data. Embodiments may allow for theselection and redisplay of the visualization with a selected part andthe user may be able to begin the process of ordering the part using theuser interface for the visualization.

FIG. 3 illustrates a flow chart with an example of an implementation ofoverlaying product information and/or business intelligence data on aproduct design visualization expanded overlay with collaboration. One ormore CAD files may be created for a visualization of a product conceptthat has one or more parts (300). The CAD files may have a hierarchicalstructure that indicates to a CAD system or visualization software howto assemble the product visualization. The CAD files may have assemblyfiles (e.g. .asm files) for assembling parts and part files forparticular parts (e.g. .prt files). Any level of granularity is possiblefor each file containing visualization data.

The business intelligence data for a part may be mapped to one or morecorresponding CAD files for the part (302). The mapping for avisualization may have object data (e.g. business intelligence data) forone or more parts (e.g. parts, groups of parts for assembly) associatedwith one or more CAD files (e.g. visualization data). Although anexample is provided in FIG. 3 for mapping part object data tovisualization data for a part, those with skill in the art willrecognize that any level of granularity (e.g. part, group of parts,etc.) may be used for providing a mapping of object data tovisualization data. Business intelligence data may continue to be mappedto CAD files for parts until there are no more parts to map (304).

A visualization data file may be created for a part with an overlay of aparticular color to indicate a comparison to a target (306). An overlayof the particular color may indicate business intelligence data for thepart (e.g. the actual data for a part of a product concept in comparisonto a target for the part). In an embodiment, the CAD file for the partmay be used to create a new visualization data file. The newvisualization file may be created in order to place an overlay of aparticular color on the visualization to provide a visual indicator forthe business intelligence data for the part. In another embodiment,additional files may be created containing the overlay visualizationdata and both the original CAD files and overlay visualization files maybe used to render the visualization. New visualization data files withvisual indicators for the business intelligence data may be created forany number of parts (308) until there are no more parts to process.

A visualization for the product may be displayed with the overlays ofparticular colors on one or more parts (310). The new visualizationfiles may be used to render the parts with the overlays of visualindicators. For example, business intelligence data for a bicycleconcept parts may include, but is not limited to, the following:applicability for use by children, expected manufacturing cost, weight,and/or any other factor for evaluating parts. The visualization with thevisual indicators for business intelligence data may provide a user witha visual way of narrowing down a problem and solving it.

The user may then decide to collaborate with other users regarding thevisualization (312). If the user desires to collaborate, thencollaboration is performed, as described below with FIG. 4.Alternatively, the process ends.

FIG. 4 illustrates a flow chart with an example of an implementation ofcollaboration within a product design visualization. A request may bereceived to display collaboration data for at least a portion of aproduct (400). Any number of parts or grouping of parts of a product maybe selected for display of collaboration data. For example, the user mayhighlight and select a group of parts on a visualization of the product.

Any amount of collaboration data associated with the visualization datafor a part may be retrieved (402). A mapping is provided between thecollaboration data for a part and a visualization data file used todisplay the visualization for the product. When a user selects a partwithin the visualization for the product, the visualization data filecan be used as a key to retrieve the corresponding collaboration data.Collaboration data may be retrieved for all parts within the selectedportion (404) until there are no more parts selected for whichcollaboration data needs to be retrieved.

A visualization of the product may be displayed and a text box, visualcard, or any other user interface element may be superimposed on thevisualization with collaboration data (406). The collaboration data maybe displayed for all of the selected parts. In an embodiment, aparticular view (e.g. a “cost” view or “weight” view) of thevisualization may be displayed and collaboration data may be associatedwith that particular view.

An input may be received for more collaboration data (408). For example,a user may desire to comment on a selected part of the product design.If the user inputs collaboration data, then the inputted collaborationdata may be associated with one or more parts of the product (410). Theassociated inputted collaboration data may be retrieved when a userrequests the collaboration data for the part. Alternatively, no inputmay be received for collaboration data (408).

A request may be received to change the product (412). Part options forthe selected portion of the product may be displayed to the user (414).A recommendation engine may be used to present the part options to theuser. A change request may be received for one or more parts (416).Alerts may be sent to one or more users with the change requestinformation.

FIG. 5 illustrates an example of a visualization for a product design.In FIG. 5, the following portions of a visualization for a productdesign are displayed: 500 Handlebar Assembly, 502 Seat, 504 Front Wheel,and 506 Frame. Product designers or any other user may create one ormore files for rendering the visualization of a product. For example,the product designers may create a visualization that is a CAD drawingcomposed of one or more files.

The visualization may be composed of one or more files that have aparticular structure in order to render the visualization, such as thefiles may have a particular order and sequence. Each part may have acorresponding CAD file (e.g. file with .prt file extension) withvisualization data. As shown in FIG. 5, parts 502 Seat, 504 Front Wheel,and 506 Frame have files with visualization data, as follows: 502 Seatwith file TB00026.prt, 504 Front Wheel with file TB00021.prt, and 506Frame with file TB00025.prt. The assembly of a product for thevisualization may be provided in an assembly file (e.g. file with .asmfile extension). For example, the Handlebar Assembly 500 may have a fileTB000012.asm that provides visualization data for the assembly of aportion of the product that may have one or more parts.

FIG. 6 illustrates an example of a visualization for a product design.Product designers can use a CAD system to build and assemble drawings ofthe various parts. It may be desirable to view the visualization as asoft copy of the product. A hierarchical collection of files (e.g. afile structure), such as shown in FIG. 6 with 600, may be used toassemble the visualization for the product. The file structureillustrated in FIG. 6 displays assembly files that provide assemblyinstructions for using the .prt files and/or .asm files listed on linesthat are displayed indented and underneath the particular .asm file. Forexample, TB00011.asm in FIG. 6 is composed of .asm files: TB00012.asm,TB00016.asm, TB00020.asm, and TB00024.asm. Continuing with the example,TB00012.asm is composed of files: TB00013.prt, TB00014.prt, andTB00015.prt. The CAD system can use the hierarchical collection of filesVisualization Data Files 600 to render the visualization for the product(e.g. the bicycle), as shown in FIG. 6 with 602. For example, thebicycle 602 may be assembled with visualization data files displayed at600.

FIG. 7 illustrates an example of a mapping of object data to objectvisualization data. In FIG. 7, object data 700, entitled “ProductStructure PLM,” is mapped to object visualization data 702, entitled“CAD Files.” In an embodiment, design engineers may manage information,such as object data, about parts used in a software application, such asthe Oracle Agile Product Lifecycle Management application. The objectdata may be stored as a “Bills of Material” and/or a “Conceptual ProductStructure,” as shown in FIG. 7 with “Product Structure PLM” 700. Each ofthe parts may have a number of characteristics and/or attributes storedand retrievable with a software application, such as object data,including, but not limited to, weight, cost, max speed, color, and/orcompliance status, etc.

In an embodiment, the object data may be stored in the Product LifecycleManagement (PLM) system, a Manufacturing Execution System (MES), and/oran Enterprise Resource Planning (ERP) system. In a simplifiedrepresentation as shown in FIG. 7, there may be a direct correspondencebetween object data for parts used in a “Product Structure PLM” andobject visualization data files for parts in the CAD system. Althoughthose with skill in the art will recognize that any mappings orassociations may be used to create visualization with overlays of visualindicators for object data.

FIG. 8 illustrates an example of a user interface for managing objectdata. Object data may be business intelligence data and/or productinformation for a concept of a product. A software application may beused to manage the data and an example of a user interface for thesoftware application is display in FIG. 8. In FIG. 8, object data for aproduct concept “Toy Bike” may be input and/or reviewed by selecting thetab for editing the product concept 800, entitled “Concept: Toy Bike.”The user interface in FIG. 8 displays the product structure at 802 alongwith object data for the product concept part, such as attributes aboutindividual parts. The object data for a particular part “Frame” (asnoted with shading of the Axle part entry) is illustrated in FIG. 8 at804. As shown at 804, the cost, Frame weight, Axle weight, and riskobject data is provided for a Frame part for the “Toy Bike” productconcept.

In an embodiment, the actual object data (e.g. cost, weight, power, andrisk) for the object concept part may be compared to a target data forthe product, and the difference between the actual data for the conceptpart and the target may be stored as business intelligence dataassociated with the part.

FIG. 9 illustrates an example of object data and visual representationsof business intelligence data. The object data 900, entitled “ConceptObject Data,” for the object concept may be mapped to the visualizationdata (e.g. CAD files). Engineers may design the parts that may be usedto produce the final product. The engineers may specify actualcharacteristics 902 (e.g. weight, cost, etc), for example, asillustrated “Weight,” for those parts.

In an embodiment, a product manager or any other user may have specifiedconstraints, such as total expected weight, “Max Weight” as illustratedat 904, cost for the overall product, and/or any other type of target.For example, the product level constraints specified by the productmanager may be distributed across the product by designers and productmanagers. In the case of a bike, for example, although not illustrated,an even distribution of the weight in the front, middle and back may bepreferred.

Actual values specified by engineers may be used to calculatesubassembly level totals, which can be compared with targets.Color-coding or shading/crosshatching may be used to illustrate theresults in pie charts and tables. Despite the use ofshading/crosshatching, as illustrated at 906, with the representation ofthe data with the pie charts and tables may still be a very text-heavyrepresentation of data and may be difficult to assimilate the resultsfor decision-making. For example, looking at the table for “Weight” at906, it may be very hard for the engineer to visualize where exactly thebike weight shifted.

FIG. 10 illustrates an example of a user interface with a rendering of avisualization of an object concept 1000. In an embodiment, a referenceto the CAD design may be stored for the product in PLM or any othersoftware application. A plugin, such as Oracle AutoVue EnterpriseVisualization Solutions (hereinafter “AutoVue”), may be used by the PLMapplication to read CAD files and render the design for an objectconcept similar to a CAD system. Although the software application PLMis provided in the description of embodiments, those with skill in theart will recognize that other types of software applications may be usedto implement visualization with overlays of visual indicators forbusiness intelligence data.

In an embodiment, AutoVue capabilities, such as “Heat Map,” may be usedto render the overlay of visual indicators representing businessintelligence object data. Although AutoVue is provided as an example ofa technology that may be used to implement overlaying object data visualindicators on a visualization for an object, those with skill in the artwill recognize that there are a number of technologies that can be usedto provide the overlaying of the visual indicators representing thebusiness intelligence data.

In an embodiment, the use of a software application that manages boththe business intelligence data and provides visualization renderingcapabilities allows the user to drill down into the data using thevisualization interface. For example, a user may select a part anddisplay the data associated with the part.

FIG. 11 illustrates an example of a user interface with a rendering of avisualization of an object concept with overlays of object data. FIG. 11illustrates a user interface for a product concept 1102, entitled“Concept Structure,” with a rendering of a visualization of an objectconcept 1100. The object concept 1100 has overlays ofshading/crosshatching representing the object data (e.g. businessintelligence data).

A guide 1104 is provided with the meaning corresponding toshading/crosshatching visual indicators. For example, using the datafrom FIG. 9 and as illustrated in FIG. 11, the Handle Bar Assembly andPedal Assembly may be overlayed with a visual indicator that thegroupings of parts are overweight. Continuing with the example, thewheels may be overlayed with a visual indicator that the wheels are ontarget, and the frame may be overlayed with a visual indicator that theframe is underweight. The drop-down selector 1106 can be used to rendersimilar views for other criteria, such as compliance and quality.

In another example, the knowledge of the mapping of parts of the CADdrawing to the corresponding part object data, such as businessintelligence data used to derive pie charts and tables illustrated at906 in FIG. 9, can be used with the AutoVue plugin's visualizationcapabilities to make this experience richer for the user.

For example, the system can pass on the following information to thevisualization engine (e.g. AutoVue), as follows:

TB00024.asm corresponds to “Frame Assembly”

For Frame Assembly, here are some attribute values:

-   -   Material=Polyurethane    -   Weight=2 lbs    -   Compliance=RoHS

For Frame Assembly, color coding for “Weight” category may be Blue forunderweight and for “Compliance” category is Green to indicate it theframe is compliant.

With the information, the following interactions may be possible:

(a) Display design with analytics overlayed on the visualization

(b) Allow user to view information on parts and collaborate on problemareas

(c) Allow user to drill down into the product design using thevisualization as the primary navigation mechanism.

Continuing with the example, with a mapping of visualization data toobject data, information about the part can be passed to the AutoVuevisualization engine, and allow the engine to overlay the right colorcoding on the file for each part, thereby rendering the derived businessintelligence (e.g. weight distribution). This may allow the user to geta nearly realistic feel for whether the bike is balanced, and also whichparts need attention.

FIG. 12 illustrates an example of a user interface for an implementationof collaboration within a visualization application. FIG. 12 illustratesa user interface with a rendering of a visualization of an objectconcept 1200 with overlays of shading representing the object data (e.g.business intelligence data). Hovering the mouse on top of any part ofthe image, as illustrated in FIG. 12, may indicate a request to displaydetails, for example as shown at 1202, about that part. In anembodiment, the background for the display of detail (e.g. at 1202) maybe color coded or shaded in the same color/shading as that for the part.

A message box/text box 1204 is displayed in which the user can type-incollaboration data, such as comments, and post them to a discussionpertaining to that design. Specific users may also be notified of thisuser's comment. For example, alerts may be sent to users that aredesignated to receive collaboration data for the particular part.

FIG. 13 illustrates an example of a user interface for an implementationof collaboration within a visualization application. FIG. 13 illustratesa user interface with a rendering of a visualization of an objectconcept 1300 with overlays of shading/cross-hatching representing theobject data (e.g. business intelligence data). In an embodiment,clicking the right arrow icon on a part serves as a request to displaycollaboration data for the part. In response to the request, a visualcard may be displayed with more information about the part, for example,as shown at 1302, and collaboration data, for example, as shown at 1304,for the part.

As shown at 1304, collaboration data such as comments from other usersassociated with the part may be displayed. A mapping may be providedbetween the collaboration data and the visualization data for the partto ensure the associated collaboration data for the part is displayed.

FIG. 14 illustrates an example of a user interface for an implementationof collaboration within a visualization application. Collaboration datashared by one or more users may be displayed in a user interface fordisplaying information about a product concept(s) 1400. As shown in FIG.14, an Activity Stream 1402 may be displayed within the user interfacewith comments from users (e.g. illustrated at 1406) on one or moreproducts. The comments may be viewed by others that are working on thesame concept. Users can respond to comments and/or share collaborationdata by inputting collaboration data (e.g. as illustrated with text box1410) and submitting the data for addition to the Activity Stream 1402(e.g. button 1408). A team discussion may ensue, possibly promptingdesign enhancements.

In an embodiment, one or more users may be identified for notificationon collaboration data for a part. For example, if a user posts acomment, users could be notified if other users have previously posted acomment and/or the users are identified as users to receive notificationon collaboration data for a particular part/group of parts.

In another embodiment, a determination could be made as to who theproject manager is for a particular part (e.g. object data may associatea manager name with a part) and the manager can be notified about anycollaboration data associated with a part. As shown in FIG. 12, aproject manager and /or design engineers can be notified, for example,by using an interface as illustrated in Details 1202. The object datafor the part may have the project manager's name to allow for retrievalof the name of project manager. As shown in FIG. 13, if a user that putin a comment, then a project manager and /or design engineers can benotified, for example, by using an interface as illustrated in VisualCard 1302.

In another embodiment, the user interface may provide link to start acollaboration session (e.g. chat/collaboration session, web conference)and the object data associated with the part may have a list of peoplethat would have an interest in a collaboration session on thepart/design. A user may be provided the option to look at a group ofpersons associated with product/part and can choose who to invite fromthose persons. In a collaboration session, new parts could be added fordiscussion and a discussion on various design options can ensue in thecollaboration session. Although a collaboration session is provided asan example, those with skill in the art will recognize thatcollaboration sessions may include, but are not limited to, thefollowing: a phone conference, VOIP call, an email, or any other form ofcommunication.

FIG. 15 illustrates an example of a user interface for an implementationof collaboration within a visualization application. FIG. 15 illustratesa user interface with a rendering of a visualization of an objectconcept 1500. One or more options (e.g. 1502, 1504, 1506, and 1508) fora particular part may be displayed with the visualization to facilitateswitching out parts. A recommendation engine may be used to presentoptions for a particular part.

A user can search for a replacement part by leveraging visualizationwith the overlay of visual indicators to identify the parts to replace.Users can collaborate by sharing collaboration data on the proposed partreplacement. For example, users can look at other frames and determinewhich has a higher weight. Icons (e.g. 1502, 1504, 1506, and 1508) canbe used for each potential part available for selection. Optionally, auser can initiate a change order request and send out alerts to one ormore users indicating the change order request.

FIG. 16 illustrates an example of a system diagram for an implementationof overlaying product information and/or business intelligence data on aproduct design visualization. A Visualization Application 1600 may beuse to create one or more Visualization Data File(s) 1602 for avisualization of a product. For example, a CAD system may be used as aVisualization Application 1600 to create CAD visualization data files.

A mapping may be created between one or more of the Visualization DataFile(s) 1602 and the Object Data 1606. The mapping may consist ofassociations between portions of Object Data 1606 files and portions ofVisualization Data Files 1602. For example, a programming construct of areference may be used to refer to data in an object data file may beassociated with a reference to data in Visualization Data File 1602.View Generation Software 1612 may be used to create the mappings andgenerate the Overlayed File(s) 1608, which are visualization files withoverlayed visual indicators for a particular view of the object data(e.g. business intelligence data). In an embodiment, the View GenerationSoftware 1612 may make copies of the Visualization Data File(s) 1602with additional data for overlaying the visual indicators for businessintelligence data.

In another embodiment, mappings may be made between Object Data 1606 andOverlayed File(s) 1608. Overlayed File(s) 1608 are files that arevisualization data files that can render the visualization for theobject with visual indicators overlayed onto the visualization for theObject Data 1606.

Business Intelligence Management Software 1610 may be used to manage theObject Data 1606. The Business Intelligence Management Software 1610 mayhave User Interface 1614 that utilizes a Visualization plugin 1616 torender the visualization with overlays using the Overlayed File(s) 1608.The Business Intelligence Management Software 1610 may be avisualization application with ability to render visualizations.

Although the description has been described with respect to particularembodiments thereof, these particular embodiments are merelyillustrative, and not restrictive.

Any suitable programming language can be used to implement the routinesof particular embodiments including C, C++, Java, assembly language,etc. Different programming techniques can be employed such as proceduralor object oriented. The routines can execute on a single processingdevice or multiple processors. Although the steps, operations, orcomputations may be presented in a specific order, this order may bechanged in different particular embodiments. In some particularembodiments, multiple steps shown as sequential in this specificationcan be performed at the same time.

Particular embodiments may be implemented in a computer-readable storagedevice for use by or in connection with the instruction executionsystem, apparatus, system, or device. Particular embodiments can beimplemented in the form of control logic in software or hardware or acombination of both. The control logic, when executed by one or moreprocessors, may be operable to perform that which is described inparticular embodiments.

Particular embodiments may be implemented by using a programmed generalpurpose digital computer, by using application specific integratedcircuits, programmable logic devices, field programmable gate arrays,optical, chemical, biological, quantum or nanoengineered systems,components and mechanisms may be used. In general, the functions ofparticular embodiments can be achieved by any means as is known in theart. Distributed, networked systems, components, and/or circuits can beused. Communication, or transfer, of data may be wired, wireless, or byany other means.

It will also be appreciated that one or more of the elements depicted inthe drawings/figures can also be implemented in a more separated orintegrated manner, or even removed or rendered as inoperable in certaincases, as is useful in accordance with a particular application. It isalso within the spirit and scope to implement a program or code that canbe stored in a machine-readable medium, such as a storage device, topermit a computer to perform any of the methods described above.

As used in the description herein and throughout the claims that follow,“a”, “an”, and “the” includes plural references unless the contextclearly dictates otherwise. Also, as used in the description herein andthroughout the claims that follow, the meaning of “in” includes “in” and“on” unless the context clearly dictates otherwise.

Thus, while particular embodiments have been described herein, latitudesof modification, various changes, and substitutions are intended in theforegoing disclosures, and it will be appreciated that in some instancessome features of particular embodiments will be employed without acorresponding use of other features without departing from the scope andspirit as set forth. Therefore, many modifications may be made to adapta particular situation or material to the essential scope and spirit.

We claim:
 1. A method for collaboration using a visualizationapplication, wherein the method is executing on a computer system,wherein the computer system comprises a processor coupled to a displayscreen and at least one input device, the method comprising: using avisualization application to display a visualization for at least aportion of an object, wherein the object comprises a plurality of parts;receiving a request to display collaboration data for a part of theobject using the input device; retrieving information about the part,wherein the information comprises details about the part; retrieving anassociation between collaboration data and visualization data for thepart of the object, wherein the collaboration data comprises data inputby one or more to be associated with the part of the object; anddisplaying information about the part and collaboration data associatedwith the visualization for the part of the object.
 2. The method ofclaim 1, further comprising: receiving a request to displaycollaboration data for a part of the object; retrieving a mapping ofcollaboration data to the object visualization data for the at least aportion of the object; retrieving any amount of collaboration data forthe part using the mapping; and displaying the collaboration data forthe part with the visualization of the part.
 3. The method of claim 1,further comprising: superimposing a text box for input on thevisualization of the object; and receiving input of collaboration datafrom a user using the text box.
 4. The method of claim 2, furthercomprising: displaying one or more options for the part of the object.5. The method of claim 2, further comprising: receiving an input for achange request for the part; and sending an alert to one or more usersin response to the change request.
 6. The method of claim 1, wherein theobject comprises a product and the visualization data comprises one ormore computer aided design files.
 7. The method of claim 1, furthercomprising: initiating a communication link by sending a message from afirst user to a second user; displaying one or more messages from eitheror both of the first and second user, wherein at least one of thedisplayed messages is displayed in visual association with the part; anddisplaying at least a portion of the details about the part in visualassociation with the part.
 8. A computer readable storage device havingone or more instructions thereon for collaboration using a visualizationapplication, the instructions when executed by one or more processorscausing the one or more processors to carry out: using a visualizationapplication to display a visualization for at least a portion of anobject, wherein the object comprises a plurality of parts; receiving arequest to display collaboration data for a part of the object using theinput device; retrieving information about the part, wherein theinformation comprises details about the part; retrieving an associationbetween collaboration data and visualization data for the part of theobject, wherein the collaboration data comprises data input by one ormore to be associated with the part of the object; and displayinginformation about the part and collaboration data associated with thevisualization for the part of the object.
 9. The computer readablestorage device of claim 8, wherein the one or more processors furthercarry out: receiving a request to display collaboration data for a partof the object; retrieving a mapping of collaboration data to the objectvisualization data for the at least a portion of the object; retrievingany amount of collaboration data for the part using the mapping; anddisplaying the collaboration data for the part with the visualization ofthe part.
 10. The computer readable storage device of claim 8, the oneor more processors further carry out: superimposing a text box for inputon the visualization of the object; and receiving input of collaborationdata from a user using the text box.
 11. The computer readable storagedevice of claim 8, wherein the one or more processors further carry out:displaying one or more options for the part of the object.
 12. Thecomputer readable storage device of claim 8, wherein the one or moreprocessors further carry out: receiving an input for a change requestfor the part; and sending an alert to one or more users in response tothe change request.
 13. The computer readable storage device of claim 8,wherein the object comprises a product and the visualization datacomprises one or more computer aided design files.
 14. The computerreadable storage device of claim 8, wherein the one or more processorsfurther carry out: initiating a communication link by sending a messagefrom a first user to a second user; displaying one or more messages fromeither or both of the first and second user, wherein at least one of thedisplayed messages is displayed in visual association with the part; anddisplaying at least a portion of the details about the part in visualassociation with the part.
 15. An apparatus for overlaying businessintelligence data on a product design visualization, the apparatuscomprising: one or more processors; and logic encoded in one or moretangible media for execution by the one or more processors for: using avisualization application to display a visualization for at least aportion of an object, wherein the object comprises a plurality of parts;receiving a request to display collaboration data for a part of theobject using the input device; retrieving information about the part,wherein the information comprises details about the part; retrieving anassociation between collaboration data and visualization data for thepart of the object, wherein the collaboration data comprises data inputby one or more to be associated with the part of the object; anddisplaying information about the part and collaboration data associatedwith the visualization for the part of the object.
 16. The apparatus ofclaim 15, when executed further operable for: receiving a request todisplay collaboration data for a part of the object; retrieving amapping of collaboration data to the object visualization data for theat least a portion of the object; retrieving any amount of collaborationdata for the part using the mapping; and displaying the collaborationdata for the part with the visualization of the part.
 17. The apparatusof claim 15, when executed further operable for: superimposing a textbox for input on the visualization of the object; and receiving input ofcollaboration data from a user using the text box.
 18. The apparatus ofclaim 15, when executed further operable for: displaying one or moreoptions for the part of the object.
 19. The apparatus of claim 15, whenexecuted further operable for: receiving an input for a change requestfor the part; and sending an alert to one or more users in response tothe change request.
 20. The apparatus of claim 15, wherein the objectcomprises a product and the visualization data comprises one or morecomputer aided design files.